The present disclosure generally relates to techniques for testing of software systems. More specifically, the present disclosure relates to a technique for generating a load test for a software system by monitoring and modifying a test session with first set of users to generalize the test session to a second set of users.
‘Load testing’ is a common testing technique that is used to model the expected usage of a software program by simulating multiple users or having multiple users access the software program concurrently. Ideally, the testing simulates actual use of the software program (as opposed to using theoretical or analytical modeling) so that the user experience can be assessed and the performance of the computer system (such as a client-server architecture), which is used to execute the software program, can be measured under real-world conditions.
In practice, it is often difficult to simulate actual use of the software program during load testing. In particular, while test scripts for use in a load test can be obtained by monitoring the interactions of a set of users with the software program, it is often difficult to generalize these test scripts so that they are more representative of the much larger number of users that typically use the software product. Consequently, in order to obtain an accurate load test, the interactions of a very large number of users with the software product may be needed, which is often time-consuming, complicated and expensive.